package com.shen;


import redis.clients.jedis.Jedis;

import java.util.Set;

/**
 * 测试redis的key操作
 */
public class KeyTest {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.174.131",6379);
        jedis.auth("123456");

        /**
         * 设置和获取键值对是string字符串的操作
         */
        //清除所有的键值对
        jedis.flushAll();
        //设置键值对
        System.out.println("设置键值对");
        jedis.set("name","shen");
        //按键获取值
        System.out.println("按键获取值:");
        String name = jedis.get("name");
        System.out.println("name:"+name);
        //获取所有keys
        System.out.println("获取所有keys:");
        Set<String> keys = jedis.keys("*");
        keys.forEach(System.out::println);
        //查看键是否存在
        System.out.println("查看键是否存在:");
        System.out.println("name"+jedis.exists("name"));
        //返回key所存储的类型
        System.out.println("返回key所存储的类型:");
        System.out.println("name-type:"+jedis.type("name"));
        //移动键
        System.out.println("移动键：");
        System.out.println("移动name键到dbid为1的数据库");
        jedis.move("name",1);
        System.out.println("获取当前数据库的name");
        System.out.println("name："+jedis.get("name"));
        System.out.println("切换数据库");
        jedis.select(1);
        System.out.println(jedis.get("name"));
        //重命名一个键
        System.out.println("重命名一个键："+jedis.rename("name", "newname"));
        //重命名一个存在的键
        System.out.println("重命名一个存在的键："+jedis.renamenx("newname", "name"));
        //序列化一个键
        System.out.println("序列化一个键："+jedis.dump("name"));
        //给键设置过期时间
        System.out.println("给键设置一个过期时间："+jedis.expire("name", 10));
        //查看键的所剩时间
        System.out.println("查看键的所剩时间："+jedis.ttl("name"));
        System.out.println("查看键的所剩时间："+jedis.ttl("name"));
        System.out.println("查看键的所剩时间："+jedis.ttl("name"));
        System.out.println("查看键的所剩时间："+jedis.ttl("name"));
        //移除key的过期时间
        System.out.println("移除键的过期时间："+jedis.persist("name"));
        //随机抽取数据库中的一个key
        System.out.println("随机抽取数据库中的一个key"+jedis.randomKey());
    }
}
